﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Data = DeltaFlex.Data;
using System.Data;
using Taula = DeltaFlex.Negoci.ConsTaules.AdreçaClient;
// TODO DeltaFlex.Negoci.Adreça_Client.InsertarAdreçaClient es pot esborrar
namespace DeltaFlex.Negoci
{
    [Serializable()]
    public class AdreçaClient
    {
        #region Variables
        private int _idAdreçaClient;
        private string _carrerNumero;
        private string _poligon;
        private string _ciutat;
        private int _codiPostal;
        private string _provincia;
        private string _pais;
        #endregion

        #region Propietats
        public int IdAdreçaClient
        {
            get { return _idAdreçaClient; }
            set { _idAdreçaClient = value; }
        }

        public string CarrerNumero
        {
            get { return _carrerNumero; }
            set { _carrerNumero = value; }
        }
        public string Poligon
        {
            get { return _poligon; }
            set { _poligon = value; }
        }

        public string Ciutat
        {
            get { return _ciutat; }
            set { _ciutat = value; }
        }

        public int CodiPostal
        {
            get { return _codiPostal; }
            set { _codiPostal = value; }
        }

        public string Provincia
        {
            get { return _provincia; }
            set { _provincia = value; }
        }

        public string Pais
        {
            get { return _pais; }
            set { _pais = value; }
        }
        #endregion

        #region Inserts
        public static int InsertarAdreçaClient(string carrerNumero, string poligon, string ciutat, int codiPostal, string provincia, string pais)
        {
            try
            {
                return Data.Adreça_Client.InsertarAdreçaClient(carrerNumero, poligon, ciutat, codiPostal, provincia, pais);
            }
            catch { throw; }
        }
        #endregion

        #region Mapeig
        public static AdreçaClient MapEntityFromDataReader(IDataReader record)
        {
            AdreçaClient adreçaClient = new AdreçaClient();

            MemberAllocation.Allocate(record, Taula.COLUMNA_IDADREÇACLIENT, ref adreçaClient._idAdreçaClient);
            MemberAllocation.Allocate(record, Taula.COLUMNA_CARRERNUMERO, ref adreçaClient._carrerNumero);
            MemberAllocation.Allocate(record, Taula.COLUMNA_POLIGON, ref adreçaClient._poligon);
            MemberAllocation.Allocate(record, Taula.COLUMNA_CIUTAT, ref adreçaClient._ciutat);
            MemberAllocation.Allocate(record, Taula.COLUMNA_CODIPOSTAL, ref adreçaClient._codiPostal);
            MemberAllocation.Allocate(record, Taula.COLUMNA_PROVINCIA, ref adreçaClient._provincia);
            MemberAllocation.Allocate(record, Taula.COLUMNA_PAIS, ref adreçaClient._pais);

            return adreçaClient;
        }

        #endregion
    }
}
